// This file was created by Filewrap 1.1
// Little endian mode
// DO NOT EDIT

#include "../PVRTMemoryFileSystem.h"

// using 32 bit to guarantee alignment.
#ifndef A32BIT
 #define A32BIT static const unsigned int
#endif

// ******** Start: FastVertShader.vsh ********

// File data
static const char _FastVertShader_vsh[] = 
	"/******************************************************************************\r\n"
	"* Vertex Shader (Fast method)\r\n"
	"*******************************************************************************\r\n"
	" This technique uses the dot product between the light direction and the normal\r\n"
	" to generate an x coordinate. The dot product between the half angle vector \r\n"
	" (vector half way between the viewer's eye and the light direction) and the \r\n"
	" normal to generate a y coordinate. These coordinates are used to lookup the \r\n"
	" intensity of light from the special image, which is accessible to the shader \r\n"
	" as a 2d texture. The intensity is then used to shade a fragment and hence \r\n"
	" create an anisotropic lighting effect.\r\n"
	"******************************************************************************/\r\n"
	"\r\n"
	"attribute highp vec3  inVertex;\r\n"
	"attribute highp vec3  inNormal;\r\n"
	"\r\n"
	"uniform highp mat4  MVPMatrix;\r\n"
	"uniform highp vec3  msLightDir;\r\n"
	"uniform highp vec3  msEyePos;\r\n"
	"\r\n"
	"varying mediump vec2  TexCoord;\r\n"
	"\r\n"
	"void main() \r\n"
	"{ \r\n"
	"\t// transform position\r\n"
	"\tgl_Position = MVPMatrix * vec4(inVertex, 1);\r\n"
	"\t\r\n"
	"\t// Calculate eye direction in model space\r\n"
	"\thighp vec3 msEyeDir = normalize(msEyePos - inVertex);\r\n"
	"\t\r\n"
	"\t// Calculate vector half way between the vertexToEye and light directions.\r\n"
	"\t// (division by 2 ignored as it is irrelevant after normalisation)\r\n"
	"\thighp vec3 halfAngle = normalize(msEyeDir + msLightDir); \r\n"
	"\t\r\n"
	"\t// Use dot product of light direction and normal to generate s coordinate.\r\n"
	"\t// We use GL_CLAMP_TO_EDGE as texture wrap mode to clamp to 0 \r\n"
	"\tTexCoord.s = dot(msLightDir, inNormal); \r\n"
	"\t// Use dot product of half angle and normal to generate t coordinate.\r\n"
	"\tTexCoord.t = dot(halfAngle, inNormal); \r\n"
	"} \r\n";

// Register FastVertShader.vsh in memory file system at application startup time
static CPVRTMemoryFileSystem RegisterFile_FastVertShader_vsh("FastVertShader.vsh", _FastVertShader_vsh, 1698);

// ******** End: FastVertShader.vsh ********

// This file was created by Filewrap 1.1
// Little endian mode
// DO NOT EDIT

#include "../PVRTMemoryFileSystem.h"

// using 32 bit to guarantee alignment.
#ifndef A32BIT
 #define A32BIT static const unsigned int
#endif

// ******** Start: FastVertShader.vsc ********

// File data
A32BIT _FastVertShader_vsc[] = {
0x10fab438,0xbd57a592,0x30050100,0x2501,0xd363e337,0x2000000,0x20000000,0xb3030000,0x0,0x4000000,0x0,0x9000000,0x2,0x0,0x20000,0x0,0x0,0x64020000,0x55535020,0x20,0x258,0x1,0x1,0x0,0x204,0x80,0x2,0x7d,0x0,0x8,0x0,0xffffffff,0x0,0x122000a,0xffff,0x40007,0x0,0x0,0x16,0x0,0x0,0x0,0x0,0xfffc,0x0,0x0,0x0,0xffff0003,0xffffffff,0x160000,0x800007,0x140001,0x0,0x150001,0x1,0x160001,0x2,0x10001,0x3,0x20001,0x4,0x30001,0x5,0x40001,
0x6,0x50001,0x7,0x60001,0x8,0x70001,0x9,0x80001,0xa,0x90001,0xb,0xa0001,0xc,0xb0001,0xd,0xc0001,0xe,0xd0001,0xf,0xe0001,0x10,0xf0001,0x11,0x100001,0x12,0x110001,0x13,0x120001,0x14,0x130001,0x15,0x77,0xffffffff,0xffffffff,0x0,0x0,0x4,0x20003,0x190000,0x80010002,0x80018001,0x8001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10001,0x10000,0x10001,0x10001,0x10001,0x70401a0d,0x821084,0x70205a0e,0x821084,0x70609a0f,0x821086,0x8081,0x801401,
0x9000c180,0x801005,0x40000000,0x8801200,0x3060800a,0x801000,0x3040400b,0x801000,0x3060c00c,0x801006,0x20c102,0x801401,0x9020c181,0x801005,0x40200080,0x8801200,0x1000c0b0,0x811005,0xf0600913,0x38ab0606,0xf0604b17,0x38820606,0xf0608d1b,0x38820606,0x705f1a1e,0xa21001,0x604182,0x38ab0602,0xc061057c,0x38980606,0xe0614583,0x38820606,0xd0818600,0x38a20205,0xf0a00811,0x38980605,0xf0004a15,0x38820606,0xf0008c19,0x38820606,0x701f1a1c,0xa21001,0x6,0x803f1800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x7000000,0x65566e69,0x78657472,0x4000000,0x304,0x1000001,0x40000,0x67000007,0x6f505f6c,0x69746973,0x6e6f,0x3050501,0x10000,0x100,0xf0004,0x50564d00,0x7274614d,0x7869,0x3031600,0x10000,0x4000100,0xffff10,0x45736d00,0x6f506579,0x73,0x30304,0x100,0x3010001,0x700,0x694c736d,0x44746867,0x7269,0x3030400,0x10000,0x14000100,0x70003,0x4e6e6900,0x616d726f,0x6c,0x30404,0x100,0x4040001,0x700,0x43786554,0x64726f6f,0x3000000,0x205,0x1000001,0x20000,0x3,
};

// Register FastVertShader.vsc in memory file system at application startup time
static CPVRTMemoryFileSystem RegisterFile_FastVertShader_vsc("FastVertShader.vsc", _FastVertShader_vsc, 979);

// ******** End: FastVertShader.vsc ********

